#pragma once

// synchro 
#include "Coordinates.h"
#include "Color.h"
#include "Normal.h"
#include <vector>
#include <string>
namespace HW2
{
	struct Polygon
	{
		Color color;
		Color k;
		Color ks;
		// Vertex, normal (if exist)
		std::vector<Coordinates> coordinates;
		std::vector<Normal> normals;
		Normal normal;

		std::vector<int> edgeList;//PAVEL
		std::vector<Color> coordinatesColor;//PAVEL
		int serialNum;//PAVEL
		bool filled;
		std::string name;

		Polygon(Color c);

		void addCoordinates(Coordinates &c);
		void addCoordinatesWithNormal(Coordinates &c, Coordinates &normal);
		void setNormal(Coordinates &c);
		void computeNormal();
		Coordinates center();
	};

}